home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-25 | 58.4 KB | 1,564 lines |
- Subject: Comp.Object FAQ Version 1.0.7 (10-27) Part 6/10
- Newsgroups: comp.object,comp.answers,news.answers
- From: Bob Hathaway <rjh@geodesic.com>
- Date: 29 Oct 1994 11:42:24 GMT
-
- Archive-name: object-faq/part6
- Last-Modified: 10/27/94
- Version: 1.0.7
-
- Odapter is bundled with the following client and
- server components, as shown in Figure 8:
-
- Client Components
-
- * Interactive Object-Oriented SQL (IOSQL)
- This interface allows you to interactively enter
- all Object-oriented SQL (OSQL) statements,
- facilitating rapid prototyping and testing. IOSQL
- provides query, administration and editing
- capabilities.
-
- * Graphical Browser (GOSQL)
- The Graphical Browser is a tool that allows you to
- graphically explore your database schema and
- contents, and execute any OSQL statement. This tool
- is designed to assist application developers by
- making it easier to view and manipulate your object
- model stored in Odapter.
-
- * Windows OSQL (WINOSQL)
- This PC-based interactive interface to OSQL allows
- you to interactively enter all OSQL statements.
-
- * Object Application Call Interfaces (OACI)
- Odapter provides client interface libraries for the
- Smalltalk and C++ object-oriented programming
- languages, allowing these languages to be tightly
- coupled with Odapter.
-
- You can also write Odapter applications using any
- programming language that can be linked with C
- (such as Ada, COBOL, FORTRAN and Pascal). The
- programmatic interface is similar to a "Dynamic
- SQL" interface, and passes strings representing
- OSQL statements to the Odapter server. No
- preprocessors are required.
-
- Server Components
-
- * Odapter Object Manager
- The Object Manager executes OSQL calls made by the
- Odapter clients. The Object Manager processes
- requests, and accesses data and code stored in the
- Odapter enhanced relational data storage manager or
- passes the request to a subsystem outside of
- Odapter using Odapter External Functions.
-
- * External Functions
- External functions allow you to access data and
- code stored outside of Odapter, regardless of data
- format or location. External functions can
- automatically link to specific data sources using
- the Odapter EDA-Objects class library and the
- EDA/SQL product from Information Builder's, Inc.
- (IBI). External functions can also be implemented
- by you as subroutines written in general-purpose
- programming languages and compiled outside of
- Odapter. External functions can be called by any
- OSQL statement, allowing you to manipulate this
- remote data and application code like any other
- Odapter object. For example, Figure 9 shows how
- Odapter integrates diverse heterogeneous
- information in an Oil and Gas environment.
-
- * EDA-Objects
- HP and IBI have jointly developed an external
- function library called EDA-Objects. Coupled with
- IBI's EDA/SQL product, EDA-Objects provides
- connections to over 50 commonly used databases on
- 35 different platforms. The external function
- library to connect to EDA/SQL is shipped with
- Odapter; however, you must purchase other EDA/SQL
- components from IBI directly to use the product.
- EDA-Objects is one way to integrate external data
- from multiple servers into a single business model
- managed by Odapter. This is done without physically
- moving the data or changing the applications which
- are dependent on the data in its current form.
-
- Additional Products
-
- * Development Environments and Tools
- Odapter allows you to use your favorite development
- environments for application development. Some
- tools are more tightly coupled with Odapter than
- others. HP has recruited tools partners to address
- all aspects of application development including
- application design and analysis, data model
- manipulation, fourth generation language
- application development, report writing and legacy
- data access.
-
- * Relational Database
- Odapter uses a relational database as its storage
- manager for the storage of Odapter objects. The
- relational database performs physical file
- management and database functions such as multi-
- user concurrency, transaction management, and
- recovery. The relational database allows you to
- perform on-line backup and recovery, manage
- physical distribution of files, maximize
- availability and change database parameters.
-
- * COMPASS
- COMPASS is a consulting product which includes the
- Hewlett-Packard implementation of the
- Petrotechnical Open Software Corporation (POSC)
- Software Integration Platform (SIP) specification.
- The SIP specification defines a data model and an
- interface which allow users and applications to
- access exploration and production data, independent
- of the database engine technology.
-
- The COMPASS package is an add-on to Odapter and
- includes:
- * COMPASS specific consulting/training (1 day)
- * POSC-based DAE interface library and documentation
- * Interactive user interface called ixpres
- * Archived copy of a pre-loaded Odapter
- enhanced database with sample reference data
- * Scripts for building a POSC-based Odapter
- enhanced database
- * Contributed software library (data loaders,
- demonstration programs)
-
- COMPASS gives developers a 'jump start' on building
- applications focused on petroleum exploration and
- production. Other industries will find COMPASS an
- inexpensive and useful approach for building
- geographic information systems (GIS) and other
- applications which can re-use of the cartography
- (mapmaking) and geometric objects defined in the
- model.
-
- POSC is a not-for profit organization created to
- lower the costs associated with accessing and
- integrating exploration and production data for the
- oil and gas industry.
-
- System Environment
-
- Hardware Operating Memory Disk Space
- platform System (minimum) (minimum)*
-
- HP 9000 S700 HP-UX 8.07 32MB 10MB +
- S800 or later necessary
- swap space
-
- Sun Solaris 1.0 32MB 10MB +
- (SunOS 4.3); necessary
- Solaris 2.0 swap space
- (SunOS 5.2)
-
- IBM RS/6000 AIX 3.2.5 32MB 10MB +
- necessary
- swap space
-
- X Terminal 6MB none
-
- IBM PC DOS 5.0, 4MB 1MB
- compatible MS-Windows
- 3.1 or later
- Table 1: Odapter Client Environments
-
- * Swap space needed will depend on the complexity
- of the application and the number of concurrent
- users. Swap space will significantly increase the
- necessary disc space.
-
- Hardware Operating Memory Disk Space
- platform System (minimum) (minimum)*
-
- HP 9000 S700 HP-UX 9.0 64MB 15MB +
- S800 or later necessary
- swap space
- Table 2: Odapter Server Environment
-
- * Additional memory may be required. Swap space
- will significantly increase the necessary disc
- space. The amount of memory and swap space depends
- on the complexity of the application and the number
- of concurrent users.
-
- Odapter Software Requirements
-
- To use Odapter, you will need one of the RDBMSs
- listed below, TCP/IP transport and ARPA Berkeley
- Services (for Unix systems), HP LAN Manager or
- Microsoft LAN Manager (for the PC client) software.
- To use the Odapter Graphical Browser, you will need
- X11 X-Window support.
-
- Table 3: Relational Databases
-
- Version Memory Disk Space
- (minimum) (minimum)
-
- ORACLE7 7.0.13 or later refer to refer to
- with "procedural Oracle Oracle
- option" (PL/ manuals manuals
- SQL), Pro*C,
- SQL*Plus & Oracle
- common libraries and
- utilities
-
- ALLBASE/SQL shipped with 64MB A/SQL 10MB
- OpenODB and Odapter
-
- * ALLBASE/SQL is included with the Odapter
- software. The combination of Odapter and
- ALLBASE/SQL is known as OpenODB.
-
-
- Ordering Information
-
- Software, training, consulting and support can be
- purchased separately, as well as in bundles.
- Pricing for the stand-alone software is based on
- the number of user processes accessing a single
- database server at the same time. Any number of
- user licenses can be ordered. You must also order
- the Odapter Media & Manuals product when ordering
- the Developer's Bundle or the Concurrent User
- License. HP standard support options are available
- for all Odapter license and media products.
- The OpenODB and Odapter products are sold together.
- OpenODB is the combination of Odapter and
- ALLBASE/SQL. You are only limited by the number of
- concurrent licenses purchased for Odapter.
-
- Product Number and Product Description
-
- B3767BB Odapter/OpenODB Concurrent User License
- Software license only. Must order B3768BA to
- receive software and manuals. Must specify number
- of users.
-
- B3768BA Odapter/OpenODB Media and Manuals Must
- choose media option. Includes software and one set
- of manuals. Requires prior or concurrent purchase
- of software license.
-
- B2470BA Odapter/OpenODB Developer's Bundle
- Includes 8 user software license, 5 days of on-
- your-site consulting, one year of on-line support
- and 2 passes to the Odapter/OpenODB Training Class.
- Must order B3768BA to receive software and manuals.
-
- B3179A Odapter/OpenODB Evaluator's Bundle
- Includes a 40 user software license for 3 months,
- media, documentation, 3 months of on-line support,
- and 1 pass to the Odapter/OpenODB Training Class.
-
- B3184S Odapter/OpenODB Training Class (5 days)
-
- B3185A Odapter/OpenODB Reference Manuals Includes
- the Odapter/OpenODB Reference Manual and the
- Odapter/OpenODB System Functions Manual.
-
- B3186A Odapter/OpenODB Consulting Customized
- consulting in any of the following areas: COMPASS,
- object-oriented analysis and design, schema design
- and review, authorization/security design and
- review, performance tuning, advanced usage,
- Odapter/OpenODB application development planning
- and review and implementation of access to legacy
- data sources.
-
- To order these products, please contact your local
- HP sales representative or one of the offices on
- the back page of this document.
-
- Table 5. Odapter Features
-
- OBJECT-ORIENTED FEATURES
- Aggregates (BAG, LIST, SET, TUPLE)
- Complex Objects
- Dynamic Schema Modification
- Dynamic Typing
- Encapsulation
- External Functions
- Functions (Stored Code or Methods)
- Late Binding
- Multiple Inheritance
- Object Identity (OID)
- Overloaded Functions
- Type (Class) Hierarchy
- User-defined Data Types
- Versioning Primitives
-
- CLASS LIBRARIES
- C++
- EDA-Objects
- Smalltalk
- Softbench
-
- CLIENT INTERFACES
- Graphical Browser (GOSQL)
- Import
- Interactive OSQL
- Object Application Call Interfaces (OACI):
- C++
- SmallTalk
- C-linkable languages (Ada, COBOL, FORTRAN,
- Pascal)
- Smalltalk Class Builder
- Windows OSQL
-
- OSQL STATEMENTS
- Add/Remove Type To/From Object
- Add/Remove User
- Begin/Commit/Rollback Work
- Call Function
- Change Owner
- Change Password
- Connect/Disconnect
- Create/Delete Function
- Create/Delete Index
- Create/Delete Object
- Create/Delete Type
- Create/Delete User/Group
- Declare/Delete variables
- Grant/Revoke
- If/Then/Else, While, For
- Implement/Modify Function
- Open/Fetch/Close Cursor
- Raise Error
- Security On/Off
- Savepoint
- Select
- Store
- Update
-
- PRIMITIVE DATA TYPES
- Binary
- Boolean
- Character
- Date
- Datetime
- Decimal
- Floating Point
- Integer
- Interval
- Small Integer
- Time
-
- Sales Offices
- For more information, call you local sales office
- listed in your telephone directory or an HP
- regional office listed below for the location of
- your nearest sales office.
-
- United States:
- 1-800-637-7740, extension 8521
-
- Canada:
- Hewlett-Packard Ltd.
- 6877 Goreway Drive
- Mississauga, Ontario L4V 1M8
- (416) 678-9430
-
- Japan:
- Yokogawa-Hewlett-Packard Ltd.
- 15-7, Nishi Shinjuku 4 Chome
- Shinjuku-ku
- Tokyo 160, Japan
- (03) 5371-1351
-
- Latin America:
- Hewlett-Packard
- Latin American Region
- Headquarters
- 5200 Blue Lagoon
- Suite 950
- Miami, FL 33126
- (305) 267-4220
-
- Australia New Zealand:
- Hewlett-Packard Australia Ltd.
- 31-41 Joseph Street
- Blackburn, Victoria 3130
- Australia (A.C.N. 004 394 763)
- (03) 895 2805
-
- Asia Pacific:
- Hewlett-Packard Asia Ltd.
- 22/F Bond Centre, West Tower
- 89 Queensway
- Central, Hong Kong
- (852) 848-7777
-
- Europe/Africa/Middle East:
- Hewlett-Packard S.A.
- 150, Route du Nant-d'Avril
- CH-1217 Meyrin 2
- Geneva, Switzerland
- (22) 780 81 11
-
- Technical information in this document is subject
- to change without notice.
- All brand and product names appearing herewith are
- registered trademarks or trademarks of their
- respective holders.
-
- ` Copyright Hewlett-Packard Company 1994. All
- rights reserved. Reproduction , adaptation, or
- translation without prior written permission is
- prohibited except as allowed under the copyright
- law.
- Printed in USA 7/94
- 5963-2045E
-
-
- For more information, please send a message to
- odapter@cup.hp.com with the subject of "index" or
- "help". If you would like to speak with someone
- in person, please leave a voice mail message at
- the Odapter Support, Training and Consulting number,
- (408) 447-5051 and someone will get back to you
- as soon as possible.
-
-
- > POET <Persistent Objects and Extended Database Technology> (BKS Software)
-
- C++ Language Support
-
- o tight semantic integration with C++
- o any C++ object or structure can be made persistent by adding the
- persistent keyword
- o storing and reading a C++ object does not change its state or behavior
- o full support for C++ encapsulation, object identity, inheritance, and
- polymorphy
- o C++ pointers and references are automatically converted to database
- references when storing objects
- o database references are automatically converted to C++ pointers and
- references when reading objects
- o all database definition is done through a small extension to C++
- declaration syntax
-
- Database Functionality
- navigation, queries, sorting, indexes, single-user operation, multi-user
- operation using client/server architecture, flexible locking for objects
- and sets, nested transactions, watch & notify for objects and sets,
- event handling, database size limited only by hard disk size
-
- C++ Language Extensions
- persistence, indexes, transient data elements in persistent classes, sets,
- dependent objects
-
- PTXX-Precompiler
- automatically converts extended C++ class declarations into ANSI 2.0 code,
- registers classes in the class dictionary, provides class versioning
-
- Predefined C++ Classes
- date, time, strings, and BLOBS (binary large objects)
-
- Portability
- all platforms are source-code compatible, any POET database may be read by
- any computer full support for heterogeneous networks
-
- Platforms
- Available for MS-DOS / MS-Windows (Borland C++, Microsoft),
- OS/2 (Borland C++), Novell, Macintosh MPW, and various Unix
- systems, including NeXT (NeXTStep) and Sun OS (Sun C++).
-
- How to Contact Us:
- BKS has offices in Santa Clara, Hamburg, and Berlin. Silicon
- River, Limited, is responsible for POET in the United Kingdom.
-
- Santa Clara: (North America, Australia, Asia)
-
- BKS Software
- 4633 Old Ironsides Drive Suite 110
- Santa Clara, CA 95054
- Phone: 408 / 748 - 3403
- Fax: 408 / 748 - 9060
-
- Contact Person: jrobie@netmbx.netmbx.de (Jonathan Robie)
-
-
- > Statice (Symbolics)
-
- From: fischerm@darmstadt.gmd.de (Markus Fischer)
- Newsgroups: comp.databases.object,comp.lang.lisp
- Subject: Statice now runs on Unix
- Date: 15 Jun 93 14:55:48 GMT
-
- Hi there,
-
- since I've never seen 'Symbolics' or 'Statice' in
- comp.database.object, this might be interesting:
-
- A few days ago, Symbolics announced the availability of a beta-
- release of their ODBMS 'Statice' on Unix platforms. It is quite
- powerful and tightly integrated within Common Lisp.
- Currently, Symbolics and LUCID are supported.
- People (like me) used to Symbolics' Genera development environment
- can continue to use Statice there (where it has been already
- successfully employed in 'real world' applications)
- and now also use it on Unix Workstations. (Those are the cheaper
- boxes, I guess). Both kinds of platforms can be freely intermixed
- in a network.
-
- Statice is based on standards of Lisp: CLOS and CLIM
- (Common Lisp Object System, resp. Common Lisp Interface Manager)
-
- Here's the address of Symbolics in Germany; they're mostly
- responsible for Statice on Unix:
-
- Symbolics Systemhaus GmbH
- Mergenthalerallee 77
- 6236 Eschborn (til June 31)
- 65760 Eschborn (from July 1)
- Tel. (49) 6196-47220, Fax (49) 6196-481116
-
- Contact person is Dr. Thomas Neumann (TN@symbolics.de).
-
- Also:
-
- "Update Database Schema" brings an existing database into conformance
- with a modified schema. Changes are classified as either compatible
- (lossless, i.e., completely information-preserving) or incompatible
- (i.e., potentially information-losing in the current implementation).
- Basically, any change is compatible except for the following:
-
- -- If an attribute's type changes, all such attributes extant
- are re-initialized (nulled out). Note that Statice permits
- an attribute to be of type T, the universal type. Such an
- attribute can then take on any value without schema
- modification or information loss.
-
- -- If a type's inheritance (list of parents) changes, the
- type must be deleted and re-created, losing all extant
- instances of that type. This is Statice's most serious
- current limitation. The simplest workaround is to employ a
- database dumper/loader (either the one supplied by Symbolics
- or a customized one) to save the information elements and
- then reload them into the modified schema.
-
- [Lawrence G Mayka <lgm@IExist.ATT.COM>]
-
-
- > UniSQL
-
- UniSQL offers a state-of-the-art suite of integrated object-oriented database
- systems and application development products which can be used separately or
- together to support complex development projects which use object-oriented
- development techniques, integrate sophisticated multimedia data, and require
- true multidatabase access to relational and object-oriented databases. The
- UniSQL product suite includes:
-
- UniSQL/X Database Management System;
- UniSQL/M Multidatabase System; and
- UniSQL/4GE Application Development Environment
- User interfaces include: C++, C, Object SQL, SmallTalk, and ODBC
- Database interfaces include: Ingres, Oracle, Sybase, UniSQL/X, and EDA/SQL
-
- UniSQL offers:
-
- - A wide selection of user interfaces including C++, SmallTalk, C, Microsoft's
- ODBC, both embedded (static and dynamic) and interactive Object SQL, and UniSQL
- and 3rd-party development tools.
-
- - Mission-critical database features such as a high-level query language
- (SQL/X), cost-based query optimization, automatic transaction management,
- automatic concurrency control, dynamic schema evolution, dynamic authorization,
- physical disk structuring options, and installation tuning parameters.
-
- - The UniSQL Multimedia Framework which provides natural and uniform database
- system support for all types of large unstructured data objects. The Multimedia
- Framework also provides for seamless integration of multimedia devices such as
- fax machines, CD jukeboxes, satellite feeds, image compression boards, etc.
-
- - The UniSQL/M Multidatabase System enables developers to manage a collection
- of multi-vendor databases -- Ingres, Oracle, Sybase, DB2, UniSQL/X, and others
- -- as a single federated database system with full object-oriented
- capabilities.
-
- UniSQL has well over 150 customers around the world, the majority of which are
- using UniSQL database products for mission-critical applications which require
- object-oriented, multimedia, post-relational, and heterogeneous database
- capabilities.
-
- A typical UniSQL customer is a Fortune 500 company, a commercial software
- developer, or government organization that is using UniSQL database products
- to:
-
- - support mission-critical application development projects which are being
- developed using object-oriented programming languages and development
- techniques,
-
- - support applications which must integrate many different types of corporate
- data -- text and documents, tabular data, images and audio, engineering
- drawings, GIS data, procedural data (programs), etc. -- into a single
- application context.
-
- - support the full object-oriented development paradigm using existing
- relational database systems such as Ingres, Oracle, Sybase, and DB2.
-
- - logically integrate one or more relational and object-oriented databases to
- form a single, homogenized database server which supports both relational and
- object-oriented facilities.
-
- In September 1992, UniSQL was selected by the Petrotechnical Open Software
- Corporation (POSC) -- over more than 25 other industry vendors -- to provide
- database technology which is being used by POSC in their development of a new
- data management specification for the oil & gas industry. Also during 1992,
- because of its powerful multimedia capabilities, UniSQL was selected by the MIT
- AthenaMuse Consortium on multimedia as the consortium's multimedia database
- system.
-
- During the DB/EXPO '93 Conference and Exhibition, UniSQL was chosen in
- competition with major industry database vendors as a finalist in the
- ``RealWare Awards''. The ``RealWare Awards'' honor companies that have
- had a major impact in the user community.
-
- UniSQL was founded in May 1990 by Dr. Won Kim, President and CEO, delivering
- the UniSQL/X DBMS in March of 1992. With its world-class database research and
- architectural team, UniSQL has perfected what the database industry has sought
- since the mid-1980s: a fully object-oriented data model that is a natural
- conceptual outgrowth of the popular relational model. Both the UniSQL/X DBMS
- and the UniSQL/M Multidatabase System represent the first of a powerful new
- generation of client-server database systems that support the full
- object-oriented paradigm yet retain all of the strengths and capabilities of
- relational database systems including support for ANSI-standard SQL.
-
- UniSQL currently has 45 employees and is privately owned and managed by Dr.
- Kim. The company has secured long-term funding from NTT Data Communications
- Systems Corp. (NTT Data), a $2 billion company, which is Japan's foremost
- systems integrator and UniSQL's exclusive distributor in Japan.
-
- For more information, contact:
-
- UniSQL, Inc.
- 9390 Research Blvd., II-200
- Austin, Texas 78759-6544
- Tel.: 512/343-7297
- Tollfree: 800/451-DBMS
- Fax.: 512/343-7383
-
- And:
- From: jonh@unisql.UUCP (Jon Higby)
- Newsgroups: comp.databases,comp.databases.theory,comp.databases.object,comp.object
- Subject: Re: SQL3, Itasca, & UniSQL/X
- Message-ID: <6143@unisql.UUCP>
- Date: 10 Sep 93 14:26:04 GMT
- References: <CD1Ln5.9G3@dcs.glasgow.ac.uk>
- Organization: UniSQL, Inc., Austin, Texas, USA
-
- >>...
- For UniSQL/X, feel free to contact me (email, snail-mail or phone).
-
- UniSQL/X is a SQL compliant database with Object Oriented extensions
- (classes, inheritance, methods, etc). We have an information packet
- available which includes a white-paper on our OORDMS approach.
-
- Jon Higby
- Technical Services Consultant
-
- UniSQL, Inc.
- 9390 Research II, Suite 200
- Austin, Texas 78759-6544
- (512) 343-7297
-
- *****************************************************************************
- Standard disclaimer ... All opinions expressed are my own and not of my
- employer.......................................
- *****************************************************************************
-
-
-
- > Versant (Versant Object Technology)
-
- Versant is a client/server object database management system (ODBMS) targeted at
- distributed, multi-user applications. Versant runs on UNIX and PC platforms,
- including Sun, IBM, HP, DEC, SGI, Sequent, OS/2, with support for Windows NT is
- planned during 1993.
-
- Versant provides transparent language interfaces from object-oriented
- programming languages such as C++ and Smalltalk. Versant also supports a C API.
-
- Versant is built with an object-level architecture, which means that operations
- are generally performed on the object (or group thereof) level. Key Versant
- features include:
-
- Performance
- -----------
-
- * Object-level locking for fine granularity concurrency control
- * Server-based query processing to reduce network I/O
- * Dual caching to speed warm traversals
- * Dynamic space reclamation and reuse
-
- Distribution
- ------------
-
- * Immutable, logical object identifiers for data integrity
- * Object migration (transparent relocation across nodes)
- * Transparent cross-node references (distributed db)
- * Automatic two-phase commit
-
- Other
- -----
-
- * Schema evolution (online via lazy updates)
- * Standard workgroup features (e.g., versioning, checkin/out)
- * Detachable, personal databases
- * DBA utilities
-
-
- Additional information available from
-
- info@versant.com (General information)
- davek@versant.com (Dave Kellogg)
-
- Versant Object Technology
- 1380 Willow Road
- Menlo Park, California 94025
-
- 415-329-7500 phone.
- 415-325-2380 fax.
-
-
- On Schema Evolution (from original survey):
- We support run-time schema evolution. It uses a lazy scheme, so
- schema operations are very fast. Objects on disk may have an older
- `storage class' and they will be updated to the new schema when they
- are used.
-
- In older releases schema evolution was allowed only on leaf classes
- (those with no subclasses). In our new release 2 (going to beta test
- soon) you can do schema evolution on any class.
-
- In the future we're working on more general view mechanisms so you can
- see a subset of the attributes in memory, or some more complicated
- transformation. This goes together with support for multiple
- compilers and multiple languages.
-
- [Joe Keane <osc!jgk@amd.com>]
-
- Also: 1-800-Versant
-
-
-
-
- Other Models
- ------------
-
- Research Systems
- ________________
-
- > GRAS
-
- --------------------------------------------------------------
- GRAS - A Graph-Oriented Database System for SE Applications
- Copyright (C) 1987-1993 Lehrstuhl Informatik III, RWTH Aachen
- --------------------------------------------------------------
-
- See the GNU Library General Public License for copyright details.
-
- Contact Adresses:
-
- Dr. Andy Schuerr
- Lehrstuhl fuer Informatik III,
- University of Technology Aachen (RWTH Aachen),
- Ahornstr. 55,
- D-5100 Aachen
-
- Email to
-
- andy@i3.informatik.rwth-aachen.de
-
- GRAS is a database system which has been designed according
- to the requirements resulting from software engineering
- applications. Software development environments are composed
- of tools which operate on complex, highly structured data.
- In order to model such data in a natural way, we have selected
- attributed graphs as GRAS' underlying data model.
-
- A first prototype of the GRAS (GRAph Storage) system - described
- in /BL 85/ - was already realized in 1985. Since this time
- gradually improving versions of the system have been used at
- different sites within the software engineering projects
- IPSEN /Na 90/, Rigi /MK 88/, MERLIN /DG 90/, and CADDY /EHH 89/.
- Based on these experiences, almost all parts of the original
- prototype have been redesigned and reimplemented.
-
- Thus, nowadays a stable and efficiently working single-process
- version of the system GRAS with interfaces for the programming
- languages Modula-2 and C is available as free software for Sun
- workstations (the GRAS system itself is implemented in Modula-2
- and consists of many layers which might be reusable for the
- implementation of other systems):
-
- Via anonymous ftp from ftp.informatik.rwth-aachen.de
- in directory /pub/unix/GRAS in file gras.<version-no>.tar.Z.
-
- There are several files containing documentation, sources, binaries,
- application examples, and libraries. All binaries are for Sun/4
- machines. Sun/3 binaries are shipped only if explicitly requested.
-
- You have to use the following sequence of operations for installing
- the GRAS system at your site:
-
- 1) 'ftp ftp.informatik.rwth-aachen.de' (with login name "anonymous"
- and password equal to your mail address).
- 2) 'cd pub/unix/GRAS' (for changing the current directory).
- 3) 'binary' (command for changing ftp mode).
- 4) 'get gras.<version-no.>' (use 'ls' for finding the currently used
- GRAS version nr.).
- 5) 'bye' (for exiting ftp).
- 6) 'uncompress gras.<version-no>.tar'.
- 7) 'tar xvf gras.<version-no>.tar' (creates a subdirectory GRAS_2 for
- the Modula-2 implementation of GRAS including its C-interface).
- 8) Follow the instructions in file GRAS_2/README.
-
-
- The current version has programming interfaces for Modula-2 and C
- and supports:
-
- - the manipulation of persistent attributed, directed node- and
- edge-labeled graphs (including the creation of very long
- attributes and of attribute indexes).
-
- - the manipulation of temporary/volatile generic sets/relations/lists,
-
- - the coordination of graph accesses by different GRAS applications
- (multiple-read/single-write access with graphs as lock units),
-
- - error recovery based on shadow pages and forward logs,
-
- - nested transactions and linear undo/redo of arbitrarily long
- sequences of already committed graph modifying operations based
- on forward and backward logs,
-
- - event-handling (with certain kinds of graph-modifications
- as events and graph-modifying transactions as event-handlers),
-
- - primitives for version control comprising the capability
- for efficiently storing graphs as forward/backward deltas to
- other graphs,
-
- - and primitives for declaring graph schemes and for incremental
- evaluation of derived attributes.
-
- Furthermore, tools for (un-)compressing graphs and a X11R5-based
- graph browser are part of this release.
-
- A multi-process version of the system GRAS supporting the inter-
- action of multiple client and multiple server processes within
- one local area network is nearby completion (version 6.0/0).
-
- Thus, the GRAS system may be considered to be the core of a graph
- oriented DBMS environment. The development of such an environment
- based on a very high-level specifications language named PROGRES
- is under way (the underlying calculus of this specification language
- are so-called PROgrammed GRaph REwriting Systems).
-
- This environment will comprise the following tools (a prerelease
- of this environment might be made available upon request):
-
- - a syntax-directed editor for graph schemes, graph rewrite rules,
- and sequences of graph rewrite rules,
-
- - an incrementally working consistency checker,
-
- - an incrementally working compiler&interpreter translating
- PROGRES specifications into sequences of GRAS procedure
- calls (for C as well as for Modula-2),
-
- - and an "enhanced" graph (scheme) browser.
-
-
- References
- ----------
-
- Refer to the following publications for further info about GRAS, PROGRES,
- and related topics:
-
- /BL85/ Brandes, Lewerentz: A Non-Standard Data Base System within
- a Software Development Environment. In Proc. of the Workshop
- on Software Engineering Environments for Programming-in-the-
- Large, pp 113-121, Cape Cod, June 1985
-
- /DHKPRS90/ Dewal, Hormann, Kelter, Platz, Roschewski, Schoepe: Evaluation
- of Object Management Systems. Memorandum 44, University
- Dortmund, March 1990
-
- /Feye92/ Feye A.: Compilation of Path Expressions (in German), Diploma
- Thesis, RWTH Aachen (1992)
-
- /Hoefer92/ Hoefer F.: Incremental Attribute Evaluation for Graphs (in
- German), Diploma Thesis, RWTH Aachen (1992)
-
- /HPRS90/ Hormann, Platz, Roschweski, Schoepe: The Hypermodel Benchmark,
- Description, Execution and Results. Memorandum 53, University
- Dortmund, September 1990
-
- /KSW92/ * Kiesel, Schuerr, Westfechtel: GRAS, A Graph-Oriented Database
- System for (Software) Engineering Applications. Proc. CASE 93,
- Lee, Reid, Jarzabek (eds.): Proc. CASE '93, 6th Int. Conf. on
- Computer-Aided Software Engineering, IEEE Computer Society
- Press (1993), pp 272-286
- Also: Technical Report AIB 92-44,
-
- /Klein92/ Klein P.: The PROGRES Graph Code Machine (in German), Diploma
- Thesis, RWTH Aachen (1992)
-
- /Kossing92/ Kossing P.: Modelling of Abstract Syntax Graphs for normalized
- EBNFs (in German), Diploma Thesis, RWTH Aachen (1992)
-
- /LS88/ Lewerentz, Schuerr: GRAS, a Management System for Graph-
- Like Documents. In Proceedings of the Third International
- Conference on Data and Knowledge Bases, Morgan Kaufmann
- Publ. Inc. (1988), pp 19-31
-
- /Nagl89/ Nagl (ed.): Proc. WG'89 Workshop on Graphtheoretic Concepts
- in Computer Science, LNCS 411, Springer-Verlag (1989)
-
- /NS91/ Nagl, Schuerr: A Specification Environment for Graph Grammars,
- in Proc. 4th Int. Workshop on Graph-Grammars and Their
- Application to Computer Science, LNCS 532, Springer-
- Verlag 1991, pp 599-609
-
- /Schuerr89/ Schuerr: Introduction to PROGRES, an Attribute Graph Grammar
- Based Specification Language, in: /Nagl89/, pp 151-165
-
- /Schuerr91a/ * Schuerr: PROGRES: A VHL-Language Based on Graph Grammars,
- in Proc. 4th Int. Workshop on Graph-Grammars and Their
- Application to Computer Science, LNCS 532, Springer-
- Verlag 1991, pp 641-659
- Also: Technical Report AIB 90-16
-
- /Schuerr91b/ Schuerr: Operational Specifications with Programmed Graph
- Rewriting Systems: Theory, Tools, and Applications,
- Dissertation, Deutscher Universitaetsverlag (1991) (in German)
-
- /SZ91/ * Schuerr, Zuendorf: Nondeterministic Control Structures for
- Graph Rewriting Systems, in Proc. WG'91 Workshop in Graph-
- theoretic Concepts in Computer Science, LNCS 570, Springer-
- Verlag 1992, pp 48-62
- Also: Technical Report AIB 91-17
-
- /Westfe89/ Westfechtel: Extension of a Graph Storage for Software
- Documents with Primitives for Undo/Redo and Revision Control.
- Technical Report AIB Nr. 89-8, Aachen University of Technology,
- 1989
-
- /Westfe91/ Westfechtel: Revisionskontrolle in einer integrierten Soft-
- wareentwicklungsumgebung, Dissertation, RWTH Aachen, 1991
-
- /Zuendorf89/ Zuendorf: Kontrollstrukturen fuer die Spezifikationssprache
- PROGRES, Diplomarbeit, RWTH Aachen, 1989
-
- /Zuendorf92/ * Zuendorf A.: Implementation of the Imperative/Rule Based
- Language PROGRES, Technical Report AIB 92-38, RWTH Aachen,
- Germany (1992)
-
- /Zuendorf93/ * Zuendorf A.: A Heuristic Solution for the (Sub-) Graph
- Isomorphism Problem in Executing PROGRES, Technical
- Report AIB 93-5, RWTH Aachen, Germany (1993)
-
- * : All reports marked with an asterisk are available via anonymous ftp from
- ftp.informatik.rwth-aachen.de in directory /pub/reports/... .
-
- See also PROGRES documentation.
-
- [See also APPENDIX E]
-
-
- > IRIS (HP Labs)
-
- [Iris is a system out of HP Labs that began as a prototype and eventually
- became a commercial product. I believe it was eventually incorporated into
- the new HP product, OpenODB. - clamen]
-
- Long and short system summaries can be found in:
-
- [FISH89] D.H. Fishman et. al. Overview of the Iris DBMS. In Won.
- Kim and Frederick H. Lochovsky, editors,
- Object-Oriented Concepts, Databases and Applications,
- chapter 10, pages 219--250. Addison-Wesley, Reading,
- MA, 1989.
-
- [FBC+87] D.H. Fishman, D. Beech, H.P. Cate, E.C. Chow,
- T. Connors, J.W. Davis, N. Derrett, C.G. Hock, W. Kent,
- P. Lyngbaek, B. Mahbod, M.A. Neimat, T.A. Tyan, and
- M.C. Shan. Iris: An object-oriented database
- management system. ACM Transactions on Office
- Information Systems, 5(1):48--69, January 1987.
-
- The abstract of the latter (written early in the project) follows:
-
- The Iris database management system is a research prototype of
- a next-generation database management system intended to meet
- the needs of new and emerging database applications, including
- office automation and knowledge-based systems, engineering
- test and measurement, and hardware and software design. Iris
- is exploring a rich set of new database capabilities required
- by these applications, including rich data-modeling
- constructs, direct database support for inference, novel and
- extensible data types, for example to support graphic images,
- voice, text, vectors, and matrices, support for long
- transactions spanning minutes to many days, and multiple
- versions of data. These capabilities are, in addition to the
- usual support for permanence of data, controlled sharing,
- backup and recovery.
-
- The Iris DBMS consists of (1) a query processor that
- implements the Iris object-oriented data model, (2) a
- Relational Storage Subsystem (RSS) -like storage manager that
- provides access paths and concurrency control, backup and
- recovery, and (3) a collection of programmatic and interactive
- interfaces. The data model supports high-level structural
- abstractions, such as classification, generalization, and
- aggregation, as well as behavioral abstractions. The
- interfaces to Iris include an object-oriented extension to
- SQL.
-
-
- On Schema Evolution (from original survey):
- Objects in the Iris system may acquire or lose types dynamically.
- Thus, if an object no longer matches a changed definition, the user
- can choose to remove the type from the object instead of modifying the
- object to match the type. In general, Iris tends to restrict class
- modifications so that object modifications are not necessary. For
- example, a class cannot be removed unless it has no instances and new
- supertype-subtype relationships cannot be established.
-
-
- Commercial Systems
- __________________
-
-
- > IDL (Persistent Data Systems)
-
- IDL is a schema definition language. Schema modifications are defined
- in IDL, requiring ad-hoc offline transformations of the database, in
- general. A simple class of transformations can be handled by
- IDL->ASCII and ASCII->IDL translators (i.e., integer format changes,
- list->array, attribute addition).
-
- [conversation with Ellen Borison of Persistent Data Systems]
-
-
- ADDITIONAL REFERENCES:
- John R. Nestor. "IDL: The Language and Its
- Implementation". Prentice Hall. Englewood Cliffs,
- NJ., 1989.
-
-
-
- > Kala
- Kala Technical Brief
-
- Summary
-
- Kala(tm) is a Persistent Data Server managing distributed, shared,
- arbitrarily complex and evolving persistent data. Kala is highly
- efficient and secure. Kala manages the visibility of persistent data
- elements to its clients, thus supporting any types of transactions,
- versions, access control, security, configurations. Kala does not
- restrict you to any particular model. Kala provides the mechanism, but
- imposes no policy. Usable as either a link library communicating to a
- server or as a standalone, Kala is compact and simple.
-
- Kala is used for applications such as: kernel of DBMS products,
- substrate for extended file systems, implementation of language
- persistence, data manager for groupware applications as well as
- applications which deal with large, complex, and changing volumes of
- data (text databases, financial distributed transaction systems). Our
- current customers use Kala in applications ranging from CASE
- repositories to CAD systems, from document management for financial
- institutions to OODBMS platforms, from real-time applications to
- database research. Kala is a component of broad reuse.
-
-
- Motivation
-
- The simplest persistent data storage available to you is the file
- system on your disk drive. File systems have some attractive
- characteristics; their performance is good, they can hold any data,
- they're easy to use, and, of course, the price is right. Conversely,
- files are unreliable. They provide no mechanism for in maintaining
- data consistency and only primitive data sharing facilities. Few file
- systems offer version control and all require that you transform data
- between "internal" and "external" forms all the time.
-
- Unlike a file system, a true database management system provides
- mechanisms for sharing data and for ensuring the integrity of the
- data. It supports transactions and version control, although the
- specifics of these functions may not be exactly what your application
- needs. Finally, a database system is scalable, and much more robust
- than a file when your hardware or software fails.
-
- The downside to a database system is that, compared to a file system,
- it is slower by an order of magnitude or more. Also, a database system
- generally confines you to dealing only with the kind of data that it
- can handle. In addition, a database is usually very complicated,
- difficult to learn and use, and expensive, both in terms of your cost
- of operation and in the amount of system resources they consume.
-
- Whether you choose a file system or a database manager, then, you
- have to sacrifice either economy or performance. Is there a happy
- medium? Something with the speed and flexibility of files, the
- reliability, shareability and robustness of databases, and at a cost
- that won't break your wallet or the available hardware? Sure there is!
- Kala is a first in a new breed of products, persistent data servers,
- aimed squarely at the yawning gap between DBMSs and file systems.
-
-
- Overview
-
- Kala is *not* a DBMS. Instead, you use Kala whenever the few canned
- combinations of DBMS features do not meet the needs of your
- application. A DBMS product constrains you to accept *its* choice of
- an end-user graphical interface, a query language binding, a specific
- high level data or object model, a particular transaction model, a
- single versioning scheme, etc. This either compromises your
- application's functionality, or forces your to spend substantial
- development effort and money to bridge the impedance mismatch to the
- application. Instead, Kala allows *you* to develop no more and no
- less than the functionality you need. You build your domain specific
- functionality our of a small set of primitives with very little code.
- Your gains in productivity, efficiency, and flexibility are
- substantial.
-
- To sustain this level of flexibility and reuse, Kala manages any data
- that you can represent in machine memory out of bits and references.
- Examples include records, dynamically linked graphs and lists,
- executable code, and object encapsulations.
-
- Kala can handle data as small as one bit, and as large as the virtual
- memory and more, while being totally unaware of the data's semantics.
- Its stores and retrieves data efficiently, and compactly over a
- distributed and dynamically reconfigurable set of Stores. Upon
- retrieval, Kala dynamically relocates embedded references to retain
- the original topological structure of the data, thus preserving
- referential integrity. Kala also supports active data, physical store
- management, and automatic archiving.
-
- Kala repackages the fundamentals and universals of data management in
- one reusable data server, separating them from the application domain
- specific models and policies. Kala defines a low level interoperabi-
- lity point for the data storage domain, just as X does for the display
- domain and Postscript does for the printing domain.
-
- Kala has matured through four successive versions to its present
- industrial strength implementation and stable API. Kala is lean,
- compact, and portable. Kala is a high performance, low overhead
- system. We call it a Reduced Instruction Set Engine (RISE). Unlike
- large, complex, and typically bulky DBMS products, Kala is small,
- simple, and suitable for managing anywhere from a single diskette to
- terabytes of distributed data.
-
-
- Benefits
-
- * For those who need functionality traditionally associated with
- databases, but cannot tolerate the overhead and complications DBMS
- products introduce, Kala offers a flexible, compact, performant,
- elegant, and simple alternative.
-
- * For those whose application domain requires data models where the
- mapping to those offered by today's DBMS products is cumbersome,
- introduces development and execution overhead, and is not portable
- across multiple linguistic and environmental platforms, Kala offers
- a data model independent interface against any data model
- expressible in terms of bits and pointers can be easily built.
-
- * For those who need DBMS functionality or qualities that no single
- DBMS product now has, Kala offers the opportunity to build that
- functionality now with little effort out of a simple set of
- primitives, and not wait for one vendor or another to deliver
- it later.
-
- * For those who have determined that the only viable option for their
- application's persistent data needs is the file system, and have
- resined to the idea that they will have to build everything else
- they need from scratch, Kala offers an off-the-shelf implementation
- without loss of any of files' advantages.
-
- * For those who need performance, size, portability, storage
- compactness, and industrial strength that no single DBMS product can
- now satisfy, Kala offers all of the above now.
-
- * For those who realize that while object-level interoperability is a
- strong desideratum, the likelihood of a single, universal such model
- in the foreseeable future is quite low, Kala offers a solid, long
- term alternative. Data store interoperability that brings us beyond
- file systems is the best practical bet. Kala is the basis for data
- store interoperability now.
-
- * Finally, for all of you who are concerned about the economics of
- software, and take the view that there are many elements that
- could contribute negatively to the soundness of your business, such
- as operational costs, software maintenance costs, software licensing
- costs, software development and learning costs, etc., you will find
- Kala an economically sound, sensible, and practical product.
-
-
- Features
-
- - The execution architecture is that of multiple (communicating)
- servers and multiple clients. Kala can also be configured in a
- standalone (single process) mode. Kala's IPC is built for maximum
- performance, portable to any given datagram protocol.
-
- - The managed data elements are made out of uninterpreted bits and
- references. Data elements (named `monads') are universally uniquely
- identified. Bits are stored with no overhead. References,
- represented in memory as native machine pointers, are stored
- very compactly, introducing an average of 2.5 bytes overhead.
-
- - Kala is a fully recoverable system, short of media damage. Recovery
- from hardware failures can be supported by the layer beneath Kala.
-
- - The Kala primitives support arbitrary transaction models, including
- classic short transactions, long (persistent) transactions, nested
- transactions, shared transactions, pessimistic and optimistic
- policies, etc. Concurrency control is achieved through two locking
- mechanisms (short-term and long-term (persistent, shared) locking),
- with full support for atomicity of operations and two-phase commit.
-
- - The Kala primitives support arbitrary versioning models, allowing
- versions to co-exist in split/rejoined networks, various version
- organization strategies (single-thread, tree, DAG, etc.). Kala
- primitives provide mechanisms for arbitrary access and update
- triggers, such as notifications, security checks upon access/update,
- etc. __ with no limitations on what the trigger code does. Kala
- provides protection measures against virus and other intruding
- executions.
-
- - The Kala primitives support a wide range of access control, security
- and protection models, including revocable access rights, access
- control without the overhead of ACL management, arbitrary access
- validation routines, etc. Kala does not introduce any more security
- holes than the operating environment already has.
-
- - Kala has primitives for physical store allocation and de-allocation
- management, for a wide spectrum of store administrative tasks, as
- well as licensing administration. The latter includes application-
- sensitive time-limited client-connect-based licensing, as well as
- metered (connect/load/store) usage. Kala can be set up to do
- automatic archiving and backup of its physical store.
-
- - Kala provides a wide spectrum of licensing schemes, usable by
- platforms and applications built upon Kala to their customer base.
- Kala provides renewable licenses, perpetual licenses, full
- protection against duplication without hardware (hostid) support,
- metered (pay-by-use) usage, etc.
-
- - And more ... not fitting on this page-long Technical Brief.
-
-
- Availability
-
- o Kala is available now on Sun platforms (SunOS / 68K & SPARC), as
- well as on 80x86/MS-DOS (both Microsoft and Borland compilers &
- runtimes supported) platforms. If you are interested in a port to
- your favorite platform, call us to discuss our Development and
- Porting Partnership Programme.
-
- o Kala's interface is ANSI C, also callable from C++. If you are
- interested in an interface or a binding to your favorite programming
- language, please call us to discuss out Development Partnership
- Programme.
-
- o For pricing and other information, please contact us by phone, fax
- or via e-mail at Info@Kala.com
-
-
- _ _ ____ _ ____ tm ____________________________________
- \\ / | \ \ | \ \\\\
- \\ /__ \ __ \ \ \ __ \ \\\\
- \\ \ \ \ \ \ \ \\\\
- \\ \ \ \ \ \ \ \\\\ No more than you need !!!
- \\' \' \' \' '____' \' \' \\\\ No less than you want !!!
- ........................................................................
- Penobscot Development Corporation email: Info@Kala.com
- One Kendall Square Building 200 Suite 2200 Cambridge MA 02139-1564 USA
- voice +1-617-267-KALA fax +1-617-859-9597 tech support +1-201-539-7739
- ...............(5252) fax +1-617-577-1209.............................
-
-
-
- +---------------------------------------------------------------+
- | Copyright (c) 1992-93, Penobscot Development Corporation. |
- | Kala is a Trademark of Penobscot Development Corporation. |
- +---------------------------------------------------------------+
-
- On Schema Evolution (from original survey):
-
- Kala manages an untyped persistent store, implementing the semantics
- of robust, distributed, secure, changing, and shareable persistent
- data. Layers built upon the Kala platform can implement the semantics
- of objects with the same properties.
-
- As it operates below the schema layer, Kala does not address schema
- evolution directly. However, It supports the building of schema'ed
- layers above it and below the application, and those layers can
- provide for schema evolution conveniently using Kala primitives.
- This parts-box approach requires extra work on the part of the developer
- compared to out-of-the-box solutions, but provides power and
- flexibility sufficient for relatively low cost solutions in
- difficult environments (e.g. graph-structured data, dynamic classing)
- where no out-of-the-box solution is available.
-
-
- Contacts:
- Sergiu Simmel sss@kala.com
- Ivan Godard ig@kala.com
- general information info@kala.com
- subscription to moderated newsletter forum-request@kala.com
-
-
- REFERENCES:
- Segui S. Simmel and Ivan Godard. "The Kala Basket: A
- Semantic Primitive Unifying Object Transactions,
- Access Control, Versions, annd Configurations
-
-
- > Pick
-
- With Pick and its variants you only have problems if you want to
- redefine an existing field. Because of the way the data are stored
- and the separation of the data and the dictionary you can define
- additional fields in the dictionary without having to do anything to
- the data - a facility which we have found very useful in a number of
- systems.
-
- There is no general facility to redefine an existing field - you just
- make whatever changes are required in the dictionary then write an
- Info Basic program to change the data. We have seldom needed to do
- this, but it has not been complicated to do.
-
- If a field in the database is no longer used, it is often easiest
- simply to delete the reference to that field in the dictionary, and
- accept the storage overhead of the unused data. In such cases, while
- the data cannot be accessed through the query language, (Pick)Basic
- programs can still access them.
-
- [Geoff Miller <ghm@ccadfa.cc.adfa.oz.au>]
-
-
-
- Interfaces
- ----------
-
-
- Research Systems
- ________________
-
-
- > Penguin (Stanford)
-
- Penguin is an object-oriented interface to relational databases.
- Penguin has its own simple language-independent object model with
- inheritance for composite objects defined as views (called
- view-objects) of a relational database. These view-objects represent
- data according to application requirements in such a way that multiple
- applications can share overlapping, but different, sets of data.
- Multiple applications may share data by having overlapping schemata
- with differing composite objects and differing inheritance mappings.
- We have a C++ binding, which supports multiple inheritance. The
- result is a framework for collaboration among multiple users, each
- with differing perspectives about the system and its data.
-
- For additional information, please contact ark@db.stanford.edu
-
- References:
-
- ``A C++ Binding for Penguin: a System for Data Sharing among
- Heterogeneous Object Models,'' Arthur M. Keller, Catherine Hamon,
- Foundations on Data Organization (FODO) 93, October 1993, Chicago.
-
- ``Querying Heterogeneous Object Views of a Relational Database,''
- Tetsuya Takahashi and Arthur M. Keller, Int. Symp. on Next Generation
- Database Systems and their applications, Fukuoka, Japan, September
- 1993, to appear.
-
- ``Updating Relational Databases through Object-Based Views,'' by
- Thierry Barsalou, Niki Siambela, Arthur M. Keller, and Gio Wiederhold,
- ACM SIGMOD, Denver, CO, May 1991.
-
- ``Unifying Database and Programming Language Concepts Using the Object
- Model'' (extended abstract), Arthur M. Keller, Int. Workshop on
- Object-Oriented Database Systems, IEEE Computer Society, Pacific
- Grove, CA, September 1986.
-
-
- Commercial Systems
- __________________
-
- >AllegroStore
-
- See Databases & Development Sept. 5, 1994, p1.
-
- "Lisp, Smalltalk Languages Given Database Systems"
-
- Quote:
- Franz, based in Berkeley, Calif., is now shipping AllegroStore, which the
- company calls the first object database system designed for object-oriented
- Lisp.
-
- [...] The database is based on the ObjectStore engine from Object Design, also
- in Burlington. It supports multiple clients and servers, [...]
-
- Franz is at 800-333-7260 or 510-548-3600.
-
-
- > Persistence
-
- PERSISTENCE(TM): BRIDGING THE GAP BETWEEN OBJECT
- ORIENTED DEVELOPMENT AND RELATIONAL DATA
-
- Persistence is an application development tool which provides object
- oriented access to existing relational data. Persistence uses an
- automatic code generator to convert object models into C++ classes
- which know how to read and write themselves to a relational database.
-
- Leverage existing data
-
- Persistence enables object oriented access to existing relational
- databases. Applications built with Persistence can work side by side
- with legacy systems.
-
- Automate database access
-
- By generating the methods to convert relational data into objects,
- Persistence saves the developer from having to write literally hundreds
- of lines of code per class.
-
- Speed application development
-
- With Persistence, major changes to the application object model can be
- completed in minutes, not weeks.
-
- Quality
-
- Persistence generates tested, bug-free code. Using Persistence helps
- ensure the reliability and reusability of your applications.
-
- Performance
-
- At Runtime, Persistence manages an object cache to enhance performance
- while ensuring data integrity. The Persistence object cache can provide
- a factor of ten performance improvement for data intensive
- applications.
-
- Portability
-
- Code generated by Persistence is database independent. You can choose
- which database to work with at link step, increasing application
- portability.
-
- TECHNICAL SPECIFICATIONS
-
- The Persistence Database Interface Generator converts object schemas
- into C++ classes.
-
- Custom
- Code
- |
- v
-
- Object schema ---> Persistence ----> Generated
- Generator Classes
- ^
- |
- v
- Persistence
- Object Cache
- ^
- |
- v
- Legacy Data
-
-
- Encapsulation
-
- Each class generated by Persistence maps to a table or view in the database.
- - Query using ANSI SQL or attribute values
- - Add custom code to generated classes
- - Preserve custom code when model changes
-
- Inheritance
-
- Persistence supports inheritance of attributes, methods and relationships.
- - Propagate superclass queries to subclasses
- - Use virtual methods for polymorphism
-
- Associations
-
- Persistence maps associations to foreign keys in the database. Each class has methods to access related classes.
- - Ensure referential integrity between classes
- - Specify delete constraints for associations
-
- Object Caching
-
- The Persistence Runtime Object Management System caches objects during
- transactions and ensures data integrity. In the object cache,
- Persistence "swizzles" foreign key attributes into in-memory pointers,
- speeding object traversal.
-
- Transactions
-
- When a transaction is committed, Persistence walks through the object
- cache and writes out changes to the database.
-
- Environment
-
- Platforms/Operating systems
- Persistence will support all major Unix and Intel platforms
- - Sun/SunOS 4.x, Solaris 2.x
- - HP/HP-UX 8.0, 9.0
- - IBM/AIX (planned 11/93)
- - Intel/NT (planned 3/94)
-
- Development Tools
-
- Persistence supports all major C++ compilers and integrates with GE's
- OMTool, allowing developers to go straight from an object model to a
- running C++ application.
- - Cfront 2.1: ObjectCenter 1.0, SPARCompiler, ObjectWorks
- - Cfront 3.0: ObjectCenter 2.0, SPARCompiler, Softbench C++
- - GE's OMTool
-
- Databases
-
- Persistence provides database independence. With our Objectivity
- integration, we also provide a clear migration path to object
- databases.
- - Oracle V6, V7
- - Sybase 4.x
- - Ingres 6.x
- - Objectivity ODBMS
- - Informix (planned 9/93)
- - ODBC (planned 3/94)
-
- CUSTOMER QUOTES
-
- "We wanted to use object technology while continuing to support our
- legacy systems. Persistence made this feasible by automating over 30
- percent of our development cycle." Steve Hunter, Sterling Software
-
- "Persistence cut our development time by approximately 40%, because we
- would have had to do all the mapping functions ourselves." Jim
- Adamczyk, Partner, Andersen Consulting
-
- "I'm convinced we'll save weeks or months of time because of
- Persistence." Mike Kubicar, SunSoft Defect Tracking Team
-
-